#pragma once

namespace AVUI {
             
/// <summary>Provides static utility methods for getting or setting the position of a <see cref="T:System.Windows.ContentElement" /> in an element tree.</summary>
class ContentOperations
{
public:
#pragma region Public Methods

    /// <summary>Gets the parent element of the specified <see cref="T:System.Windows.ContentElement" />.</summary>
    /// <returns>The parent element in the current tree.</returns>
    /// <param name="reference">The <see cref="T:System.Windows.ContentElement" /> to get the parent from.</param>
    static DependencyObject* GetParent(ContentElement* pReference);
    /// <summary>Sets the parent element of the provided <see cref="T:System.Windows.ContentElement" />.</summary>
    /// <param name="reference">The <see cref="T:System.Windows.ContentElement" /> to reparent.</param>
    /// <param name="parent">The new parent element.</param>
    static void SetParent(ContentElement* pReference, DependencyObject* pParent);

#pragma endregion Public Methods
};

}; // namespace AVUI


